package 笔试;

import java.util.*;

/**
 * 5,6,8,26,50,48,52,55,10,1,2,1,20,5:3
 */
public class 洪水泛滥 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String[] day = in.nextLine().replace("[","").replace("]","").split(",");
        List<Integer> sun = new ArrayList<>();  // 可以抽水的日期 <日期>
        HashMap<String,Integer> rain = new HashMap<>();  // 湖泊下雨记录 <湖泊:日期>
        HashMap<Integer,String> flush = new HashMap<>();  // 抽水记录 <日期:湖泊>
        for (int i = 0; i < day.length; i++) {
            if (day[i].equals("0")){ // 晴天
                sun.add(i);
            }else {  // 雨天
                if(rain.containsKey(day[i])) // day[i] 号湖泊之前下过雨，则找>i的第一次可以抽水的日期
                {
                    int rain_day = rain.get(day[i]);  // 找到上次下雨的时间
                    for (int j = 0; j < sun.size(); j++) {  // 遍历可以抽水的日期
                        if(sun.get(j)>rain_day){   // 找到上次下雨可以抽水的日期
                            flush.put(sun.get(j),day[i]);  // 记录抽水
                            sun.remove(j);  // 移除抽水的日期
                            rain.put(day[i],i);  // 跟新湖泊下雨时间
                            break;
                        }
                    }
                    if (rain.get(day[i])!=i){  // 判断是否抽水成功
                        System.out.println("[]");
                        return;
                    }
                }
                else {
                    rain.put(day[i],i);  // 记录该湖泊第一次下雨时间
                }
            }
        }
        // 处理结果
        int[] res = new int[day.length];
        for (int j = 0; j < res.length; j++) {
            if (flush.containsKey(j)) {
                res[j] = Integer.parseInt(flush.get(j));
            }else if (day[j].equals("0")) res[j] = 1;
            else res[j] = -1;
        }
        System.out.println(Arrays.toString(res));
    }
}
